package com.csist.controller;


import com.csist.pojo.Wtzx;
import com.csist.pojo.Wtzx_v;
import com.csist.service.impl.WtzxServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 问题咨询 前端控制器【done】
 *
 * @author wy
 * @since 2021-12-01
 */
@RestController
@RequestMapping("/wtzx")
public class WtzxController {
    @Autowired
    private WtzxServiceImpl wtzxService;
    @Value("${myConfig.wtzxPageNum}")
    private int wtzxPageNum;

    /**
     * 获取已回复的问题
     * @param pageIndex 页码下标
     * @return 问题咨询集合对象
     */
    @RequestMapping("/getWted")
    public List<Wtzx_v> getWted(int pageIndex){
        return wtzxService.getWTed(pageIndex*wtzxPageNum,wtzxPageNum);
    }

    /**
     * 获取未回复的问题
     * @param pageIndex 页码下标
     * @return
     */
    @RequestMapping("/getWtun")
    public List<Wtzx_v> getWtun(int pageIndex){
        return wtzxService.getWTun(pageIndex*wtzxPageNum,wtzxPageNum);
    }

    /**
     * 根据问题状态获取页数大小
     * @param state 问题状态（0:未回复，1:已回复）
     * @return 总页数
     */
    @RequestMapping("/getPageByState")
    public int getPageByState(int state){
        int pageSize =  wtzxService.getPageByState(state);
        if (pageSize<wtzxPageNum){
            return 1;
        }
        return (int)Math.ceil((double) pageSize/wtzxPageNum);
    }

    /**
     * 添加（回复）问题
     * @param wtzx 问题咨询实体对象
     * @return true:回复成功,false:回复失败
     */
    @RequestMapping("/add")
    public boolean finishWt(@RequestBody Wtzx wtzx){
        return wtzxService.saveOrUpdate(wtzx);
    }

    /**
     * 删除问题咨询
     * @param id 问题咨询id
     * @return true:删除成功,false:删除失败
     */
    @RequestMapping("/remove")
    public boolean removeWt(int id){
        return wtzxService.removeById(id);
    }
}
